Monitoring control, systems are systems in which information from apparatuses to be monitored such as temperature sensors, pressure sensors, position sensors, and other various types of sensors is presented to operators or monitoring persons, and in which various types of apparatuses such as motors, valves, switches, hydraulic devices are controlled through operations by operators or monitoring persons. Such monitoring control systems are used in a wide range of fields of power plant, chemical plant, power receiving/distributing facility, water and sewage, and the like.
In a typical monitoring control system, a plurality of modules are provided as divided modules so as to respectively correspond to processes such as signal transmission/reception with an apparatus that is to be the target of the monitoring control, and these are connected by communication paths, whereby various processes are realized.
The process content of each module in a monitoring control system is more and more expressed in the form of a directed graph (“directed graph” is a figure composed of vertexes and edges each having a direction (arrow)) in which input/output directions of signals are indicated by arrows, as in a circuit diagram. Specifically, the process content of each module is expressed as follows: nodes (hereinafter, also referred to as “arithmetic elements”) are connected to one another, each node representing a process of a signal, and the nodes and links (hereinafter, also referred to as signal lines) each showing the flow of a signal are combined together. The process content of a module was fixedly realized by hardware circuitry in the past. However, in recent years, from the viewpoint of flexibility and cost performance, the process content is more and more implemented in the form of a program on a digital computer so that the process is realized through simulation of operation on the digital computer.
An example of a standard for a programming language for expressing process contents by use of arithmetic elements and signal lilies is International Standard IEC 61131-3. Arithmetic elements are described in a function block diagram (FBD for short) according to the International Standard, and the process contents represented by arithmetic elements and signal, lines combined together are expressed in a diagram called logic diagram.
In recent years, associated with increase in the size of programs, work of testing programs is becoming difficult to be conducted. This phenomenon is also observed in generation of a logic diagram (control logic diagram) that represents a control logic for monitoring control in a monitoring control system. Specifically, in a logic diagram, a plurality of processes that correspond to various modes are described (here, a “process” means a so-called computer process, whereas “a plurality of processes that correspond to various nodes” will toe referred to as “behavior”). Thus, the control logic tends to be complicated, and the complicated control logic is described so as to be divided into a plurality of logic diagrams. Moreover, since the number of apparatuses to be controlled is large, the number of logic diagrams for controlling the apparatuses is also huge.
In general, in a test for ensuring correctness of the behavior of the control logic, a test using a simulation (hereinafter, also referred to as “simulation logic”) is performed before a test using an actual control target apparatus is performed. A simulation simulates operation that corresponds to a pump device or the like in an actual plant, for example.
An example of prior art that performs a control logic test using a simulation is the technology described in the conventional example of Patent Document 1. According to the prior art described in Patent Document 1, a test person performs an input operation of inputting various data to a man-machine input function in accordance with a test procedure manual, a result processed in a control logic is inputted via a process output function into a simulation, a result simulated in the simulation is sent to a process input function, process data is inputted to the control logic, a control result is outputted via the control logic to a man-machine output function, and then, the test person compares the content from the man-machine output function with the content of the test procedure manual, thereby determining pass or failure.
Meanwhile, in order to make such a control logic test efficient, a technique for automatizing test work has been proposed. According to the technology described in Patent Document 1, provided are: test pattern management means for managing a test pattern classified by the content of a test; prerequisite condition setting means for setting a prerequisite condition required when executing the test pattern to a plant control device; operation simulation means for simulatively applying an operation instruction for executing the test pattern to the plant control device; history storage means for storing a history of a plant state generated as a result of the plant being controlled by the plant control device; and judgment means for judging the result of the test by comparing the plant state with predetermined judgment criteria, and the control logic test is automatically performed.